1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to a computer implemented method and apparatus for processing instructions in a processor. Still more particularly, the present invention relates to a computer implemented method and apparatus for register renaming for a merged register file.
2. Description of the Related Art
Software developers write software in a programming language. Using applications, such as compilers, software developers translate the software from programming language code into executable instructions. Executable instructions are instructions that a processor in a data processing system can execute to generate the results intended from the software.
In computer architecture, a register is a small amount of very fast computer memory used to speed up the execution of instructions by providing quick access to commonly used values, and the values being calculated at a given point in time. Most, but not all, modern computer architectures operate on the principle of moving data from main memory into registers, operating on them, and then moving the result back into main memory. Such an architecture is a load-store architecture. The processor in a computer uses and reuses the registers in this manner as some instructions in the registers finish executing and new instructions load into the registers for execution. A variety of processor architectures exist for the processors. All of these processor architectures implement registers in some form for the purpose described above.
Classification of registers classifies the registers into different types depending upon their main use. Some examples of the different types of registers are as follows. General-purpose registers (GPRs) are registers that can store both data and address of the data. Floating-point registers (FPRs) are used for floating point computation. Vector registers (VMX) hold data for vector processing done by Single Instruction, Multiple Data instructions (SIMD). Modern processor architectures use many other types of registers.